Video promotional and advertising systems for video on demand system

ABSTRACT

The present invention provides a method for an interactive media services system to provide a plurality of promotional media to a user through an interactive media services client device coupled to a programmable media services server device. The method includes the step of implementing an interactive media guide and implementing the client device to present the interactive media guide to said user. A system operator of the programmable media services server device is provided with an interface to the programmable media services server that includes control options within the interface to allow said system operator to command which of the plurality of promotional media is displayed in specific areas of said interactive media guide.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority to copending U.S. ProvisionalApplication having Ser. No. 60/138,756 filed Jun. 11, 1999, which ishereby incorporated by reference herein in its entirety.

FIELD OF THE INVENTION

This invention relates in general to television systems, and moreparticularly, to the field of media-on-demand.

BACKGROUND OF THE INVENTION

Historically, television services have been comprised of analogbroadcast audio and video signals. Cable television systems now receivebroadcasts and retransmit them with other programming to users overland-line networks, typically comprising fiber optic cable and/orcoaxial cable. With the recent advent of digital transmissiontechnology, cable television systems are now capable of providing muchmore than the traditional analog broadcast video. In addition, two-wayand advanced one-way communications between a subscriber and a cablesystem headend are now possible.

In implementing enhanced programming, the home communication terminal(“HCT”), otherwise known as the settop box, has become an importantcomputing device for accessing video services and navigating asubscriber through a maze of services available. In addition tosupporting traditional analog broadcast video functionality, digitalHCTs (or “DHCTs”) now also support an increasing number of two-waydigital services such as video-on-demand.

Each HCT or DHCT (collectively hereinafter “DHCT”) is typicallyconnected to a cable or satellite television network. The DHCTsgenerally include hardware and software necessary to provide thefunctionality of the digital television system at the client's site.Preferably, some of the software executed by a DHCT is downloaded and/orupdated via the cable television network. Each DHCT typically includes aprocessor, communication components and memory, and is connected to atelevision or other display device, such as a personal computer. Whilemany conventional DHCTs are stand-alone devices that are externallyconnected to a television, a DHCT and/or its functionality may beintegrated into a television or personal computer, as will beappreciated by those of ordinary skill in the art.

With the advent of media guide “browsers” for use in cable televisionsystems, viewers (also referred to as “subscribers” or “users”) can scanprogramming information in a variety of methods. For specializedservices such as on-demand video services, hundreds, or even thousands,of title options may be made available to the user for purchase andviewing. The service is not usable if the user is besieged with choiceswith no effective method for navigating and selecting a desired choice.For example, navigating a library of thousands of movie titles in ascrolling list alphabetically is very cumbersome.

A problem exists in providing a method to efficiently configurepromotional information within the user interface provided to a user. Aproblem exists in providing a user promotional information to enticerental or purchase the media assets.

An additional problem exists in including advertisements in media guidebrowsers where the advertisements are not located at the cabletelevision providers' transmitting location, but rather externalthereto. With the advent of internet banner advertising, a need existsfor a similar type of modular advertising that is easily update and maybe tailor to an individual user or groups of users. A problem exists inconfiguring the media guides to enable third parties to seamlesslyintegrate advertisements without constant intervention andreconfiguration by the cable television provider.

SUMMARY OF THE INVENTION

The present invention provides a method for an interactive mediaservices system to provide a plurality of promotional media to a userthrough an interactive media services client device coupled to aprogrammable media services server device. The method includes the stepof implementing an interactive media guide and implementing the clientdevice to present the interactive media guide to said user. A systemoperator of the programmable media services server device is providedwith an interface to the programmable media services server thatincludes control options within the interface to allow said systemoperator to command which of the plurality of promotional media isdisplayed in specific areas of said interactive media guide.

The present invention also provides a method for an interactive mediaservices system to provide a plurality of promotional media to a userthrough an interactive media services client device coupled to aprogrammable media services server device. The method includes the stepof implementing an interactive media guide to be presented to the userby the client device. An external data source is implemented and accessto the programmable media services system applications externally by thedata source is provided. The method also includes the step of enablingconfiguration of the interactive media guide viewed by said user withthe plurality of promotional media located at the external data source.

Other objects, features, and advantages of the present invention willbecome apparent to one with skill in the art upon examination of thefollowing drawings and detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention can be better understood with reference to the followingdrawings. The components in the drawings are not necessarily to scale,emphasis instead being placed upon clearly illustrating the principlesof the present invention. In the drawings, like reference numeralsdesignate corresponding parts throughout the several views.

FIG. 1 is a block diagram of a cable television system in accordancewith one preferred embodiment of the present invention.

FIG. 2 is a diagram of the headend 11 as depicted in FIG. 1.

FIG. 3 is a block diagram of a DHCT and related equipment, in accordancewith one preferred embodiment of the present invention depicted in FIG.1.

FIGS. 4A-4M are flow diagrams that define the signaling interactionsbetween the DHCT, the DNCS, the MOD application server, and the VODcontent server 22 to set up, maintain, and tear down VOD sessions.

FIGS. 5 and 6 are flow chart diagrams of the user interface flow forproviding the MOD service in the network depicted in FIG. 1.

FIG. 7 is a diagram of a remote unit that communicates with the DHCTshown in FIG. 3.

FIG. 8A-8D are block diagrams of the MOD title catalog screen asdescribed in FIG. 5.

FIG. 9 is a display diagram of the MOD title catalog screen shown inFIG. 8B with a browse-by screen overlaid on top of the MOD title catalogscreen.

FIG. 10 is a display diagram of a rental option screen as one embodimentof the title purchase option described in FIG. 5.

FIG. 11 is a display diagram of a PIN entry screen subsequently to therental options screen in FIG. 10 indicating that the selected MOD titleis blocked because of its rating and providing a personal identification(PIN) entry to access the blocked MOD title.

FIG. 12 is a display diagram of a title rental access PIN entry screenpresented to the user requesting PIN confirmation of purchase of the MODtitle previously selected from the MOD title catalog screen in FIG. 8A.

FIG. 13 is a display diagram of the please wait barker presented to theuser while service is established from the headend (FIG. 2) to theuser's DHCT (FIG. 3).

FIG. 14 is a display diagram of the MOD service unavailable barkerpresented to the user indicating that the purchased MOD title (from theMOD title catalog screen (FIG. 8A)) cannot be presented at the requestedtime.

FIG. 15 is a display diagram of the rental period end screen presentedto the user when the duration of the rental period has expired as chosenin the rental options screen in FIG. 11.

FIG. 16 is a display diagram of the end movie rental screen presented tothe user when providing the opportunity to prematurely end rental of aMOD title selected from the MOD title catalog screen in FIG. 8A prior toexpiration of the rental duration.

FIG. 17 is a display diagram of the MOD service problem barker presentedto the user informing of the user of a problem in the delivery of thepurchased MOD title from the MOD title catalog screen in FIG. 8A.

FIG. 18 is a display diagram of the MOD rental not authorized barkerpresented to the user if the user is not authorized to receive a MODtitle selected from the MOD title catalog screen in FIG. 8A.

FIG. 19A-19C are display diagrams of MOD current rental screens asdescribed in FIG. 5.

FIG. 20 is a display diagram of the VOD stream control mechanisms asdescribed in FIG. 6 that a user may utilize during viewing of a MODtitle.

FIG. 21 is a diagram of a non-limiting example of a sequence of stillscreens that may comprise a screen saver operation that operate asdescribed in FIG. 20.

FIG. 22 is a non-limiting example of a system operator GUI 295 forconfiguring some of the previously described configurable parameters.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 1 is a block diagram of a cable television system 10 including aheadend 11 for receiving television signals, such as satellitetelevision signals, and converting the signals into a format fortransmitting the signals over the system 10. The transmitted signalscan, for example, be radio frequency (RF) signals or optical signals, asshown, transmitted over fiber optic cable 12. When the optical signalsare transmitted by the headend 11, one or more optical nodes 13 areincluded in the system 10 for converting the optical signals to RFsignals that are thereafter routed over other media, such as coaxialcables 14. Taps 15 are provided within the cable system 10 for splittingthe RF signal off, via cables 17, to subscriber equipment such as DHCTs16, cable-ready television sets, video recorders, or computers. Thus,headend 11 is connected through a network 18 to multiple DHCTs 16.

FIG. 2. is a block diagram of the headend 11 as configured in the cabletelevision system network to provide media-on-demand (MOD) services. MODapplication server 19 is responsible for provisioning the servicesprovided by the MOD application, as directed by the system operator, andfor providing the content or data needed by the MOD application clientthat executes on the DHCT 16. Provisioning is the process that definesthe MOD application's services, including the reservation andconfiguration of system resources needed to provide those services, andthe capability to bill for such services. MOD application server 19 anda plurality of other application servers 20 are connected to a digitalnetwork control system (DNCS) 23 via an Ethernet connection 32.

The DNCS 23 provides complete management, monitoring, and control of thenetwork's elements and broadcast services provided to users. The DNCS 23uses a data insertion multiplexor 29 and a data QAM 30 to insert thein-band BFS data into an MPEG-2 transport stream. The DNCS 23 alsocontains a Digital Storage Media—Command-in-Control (DSM-CC) session andresource manager 34 that works with other components of the DNCS 23 inorder to support the delivery of the MOD service to the user. The DSM-CCsession and resource manager processes user to network (U-N) sessionsignaling messages, manages allocation of session-related networkresources and supports network management operations. The DSM-CC sessionmanager 34 (FIG. 2) supports exclusive services such as MOD by providingthe signaling interface to establish, maintain and release clientinitiated exclusive sessions. The DSM-CC session manager acts as a pointof contact to the network for the DHCT's in the network 18 to establishindividual sessions. The DSM-CC session manager also defines a resourcedescriptor structure, which is used to request the network resourceswithin a session.

The MOD application server 19 communicates via the Ethernet connection32 to a service application manager (SAM) server 25 contained on theDNCS 23. The SAM 25 provides a model in which the user can accessservices available on the system. A service consists of an applicationto run and a parameter, such as data content, specific to that service.The SAM handles the lifecycle of the applications on the system,including the definition, initiation, activation, suspension anddeletion of services they provide and the downloading of the applicationinto the DHCT 16. Many services can be defined using the sameapplication component, with different parameters. The MOD applicationserver 19 defines its application to the SAM server 25 and the SAMserver 25 instructs a broadcast file system (BFS) server 28 to add theMOD application client executable code to the carousel (not shown) fordistribution to the various DHCTs 16 in the network 18.

The BFS server 28 is a part of a broadcast file system that has a BFSclient 43 (FIG. 3) module in each DHCT 16 in the network 18.Applications on both the headend 11 and the DHCT 16 can access the datastored in the BFS server 28 in a similar manner to a file system foundon disc operating systems. The BFS server 28 repeatedly sends data forapplications on a carousel (not shown) over a period of time so that theDHCT 16 that is interested in any particular data may receive it when itis the user desires the data. Thus, the BFS client 43 contained in theDHCT 16 that receives the broadcast from the BFS server 28 can implementthe application for the user.

The video-on-demand (VOD) content manager 21 and VOD content servers 22deliver MPEG-2 content to a service group of QAM modulators thatcomprise service group number 24. The content manager 21 is responsiblefor managing the content on the VOD content servers 22. The MODapplication server 19 utilizes the VOD content manager 21 and VODcontent servers 22 to deliver the video and audio streams that make upthe MOD services. The MOD application server 19 is also responsible forcontrolling the VOD content manager 21 and VOD content servers 22. Theservice group 24 is actually a multiplex of QAMs that illuminate aparticular DHCT 16. A network session manager (not shown) in a DNCS 23uses the service group 24 to determine which QAM modulator has access toa particular DHCT 16. The QAM modulators that comprise the service group24 receive the MPEG-2 transport stream from the VOD content servers 22and convert it to an RF signal at a specified frequency (channel). TheQAM modulators of the service groups 24 are also responsible forencrypting the transport stream and inserting other data and informationinto the stream.

The QPSK modem 26 is responsible for transporting the out-of-band IP(internet protocol) datagram traffic between the distribution headend 11and a DHCT 16. Data from the QPSK modem 26 is routed by headend router27 within the headend 11. The headend router 27 is also responsible fordelivering upstream application traffic to the various applicationservers 19, 20.

FIG. 3 is a block diagram illustrating the DHCT 16 coupled to headend 11discussed above with other system equipment. The DHCT 16 is typicallysituated within the residence or business of a user. It may beintegrated into an output device that has a display 31, such as atelevision set, or it may be a stand-alone unit that couples to anexternal display 31, such as a display included with a computer or atelevision, and that processes media transported in television signalsfor presentation or playback to a subscriber (user of the DHCT). Thedisplay device also includes audio output equipment. In a non-limitingexample, the display 31 includes a hi-fi stereo for digital qualitymusic reproduction. The DHCT 16 preferably comprises a communicationsinterface 33 for receiving the RF signals, which can include media suchas video, audio, graphical and data information, from the tap 15 and forproviding any reverse information to the tap 15 for transmission back tothe headend 11 (FIG. 1). The DHCT 16 further includes at least oneprocessor 35 for controlling operations of the DHCT 16, including avideo output port such as an RF output system 36 for driving the display31, a tuner system 37 for tuning into a particular television channel tobe displayed and for sending and receiving data corresponding to varioustypes of media from the headend 11. The tuner system 37 includes in oneimplementation, an out-of-band tuner for bi-directional quadrature phaseshift keying (QPSK) data communication and a quadrature amplitudemodulation (QAM) tuner for receiving television signals. Additionally,DHCT 16 includes a receiver 39 for receiving externally-generatedinformation, such as user inputs or commands for other devices. The DHCT16 may also include one or more wireless or wired interfaces, alsocalled ports, for receiving and/or transmitting data to other devices.For instance, the DHCT 16 may feature USB (Universal Serial Bus),Ethernet (for connection to a computer), IEEE-1394 (for connection tomedia devices in an entertainment center), serial, and/or parallelports. The user inputs may, for example, be provided by a computer ortransmitter with buttons or keys located either on the exterior of theterminal or by a hand-held remote control device 40 (also FIG. 7) orkeyboard that includes user-actuated buttons.

In one implementation, a memory portion 41 of the DHCT 16 includes flashmemory 42 and dynamic random access memory (DRAM) 44 for storing theexecutable programs and related data components of various applicationsand modules for execution by the DHCT 16. Both the flash memory 41 andthe DRAM memory 44 are coupled to the processor 35 for storingconfiguration data and operational parameters, such as commands that arerecognized by the processor 35.

Basic functionality of the DHCT 16 is provided by an operating system 46that is contained in flash memory 42. One or more programmed softwareapplications, herein referred to as applications, are executed byutilizing the computing resources in the DHCT 16. The applicationexecutable program stored in flash memory 42 or DRAM 44 is executed byprocessor 35 (e.g., a central processing unit or digital signalprocessor) under the auspices of the operating system 46. Data input bythe application program is stored in DRAM 44 and read by processor 35from DRAM 44 as need be during the course of application programexecution. Input data may be data stored in DRAM 44 by a secondaryapplication or other source, either internal or external to the DHCT 16,or possibly anticipated by the application and thus created with theapplication program at the time it was generated as a softwareapplication program, in which case it is stored in flash memory 42. Datamay be received via any of the communication ports of the DHCT 16, fromthe headend 11 via the DHCT's network interface (i.e., the QAM orout-of-band tuners) or as user input via receiver 39. A type of inputdata fulfills and serves the purpose of parameters as described below.Data generated by application program is stored in DRAM 44 by processor35 during the course of application program execution.

The flash memory 42 also contains a platform library 48. The platformlibrary 48 is a collection of functionality useful to applications, suchas a Timer Manager, Compression Manager, Database Manager, WidgetToolkit, String Managers, and other utilities (not shown). Theseutilities are accessed by applications so that each application does nothave to contain these utilities thus resulting in memory consumptionsavings and a consistent user interface.

The SAM, as discussed above, includes a SAM server 25 (FIG. 2) inheadend 11 and a SAM client 37 in the DHCT 16. The SAM client 37 is apart of the platform library 48. As a non-limiting example, anapplication to tune video programming could be executed with one set ofparameters to view HBO and a separate set of parameters to view CNN.Each association of the application component (tune video) and oneparameter component (HBO or CNN) represent a particular service that hasa unique service ID.

An application client is the portion of an application that executes onthe DHCT 16 and provides the application's services to the usertypically through a graphical user interface. Also contained in flashmemory 42 is a navigator application 51 that provides a navigationframework for the user to access services available on the cable system.Examples of the services include, in one implementation, watchingtelevision and pay-per-view events, listening to digital music, and aninteractive program guide, each of which is controlled through separateapplications in flash memory 42. The navigator 51 also allows users toaccess various settings of the DHCT 16, including volume, parentalcontrol, VCR commands, etc.

Interactive program guide (IPG) 53, Watch TV 55, and pay-per-view (PPV)57 are all resident applications in flash memory 42. The IPG 53 displaysa program guide to the user and populates the guide with program datafor selection. Watch TV 55 enables a user to simply “watch television”while PPV 57 enables other services to be organized into events andpurchased as premium television services. These applications, becausethey are in flash memory 42, are always available to the user and do notneed to be downloaded each time the DHCT 16 initializes.

The applications that are stored in the DRAM 44 may be applications thatare loaded when the DHCT 16 initializes or are applications that aredownloaded to the DHCT 16 upon a user-initiated command using an inputdevice such as the remote 40. In this non-limiting example, as shown inFIG. 2, DRAM 44 contains the following application clients: an e-mailapplication client 59, a digital music application client 61, a serviceguide application 63 and a video-on-demand application client (MOD) 65(discussed in more detail below). It should be clear that theseapplications are not limiting and merely serve as examples for thispresent embodiment of the invention.

The applications shown in FIG. 3 and all others provided by the cablesystem operator are top level software entities on the network forproviding services to the user. In one implementation, all applicationsexecuting on the DHCT 16 work with the navigator 51 by abiding byseveral guidelines. First, an application utilizes and implements theSAM client 37 for provisioning, activation, and suspension of services.Second, an application shares DHCT 16 resources with other applicationsand abide by the resource management policies of the SAM client 37, theoperating system 46, and the DHCT 16. Third, an application handles allsituations where resources are unavailable without navigator 51intervention. Fourth, when an application loses service authorizationwhile providing a service, an application should suspend the servicegracefully. The navigator 51 will reactivate an individual serviceapplication when it later becomes authorized. Finally, an application isconfigured so it does not respond to input commands reserved for thenavigator 51. For instance, as a non-limiting example, when user inputcommands are entered via a wireless remote control device or keyboard40, the application is configured so it does not have access to certainuser input keys that are reserved by the navigator 51 (i.e., power,channel +/−, volume +/−, etc.). However, without any limitations to theaforementioned, in certain circumstances certain applications during thecourse of program execution may reach a machine-state in which inputkeys that would ordinarily be reserved may be employed for input by theapplication but mainly during that particular machine-state. Forinstance, an application may display a user interface that specificallyrequests input or selection from the user in which one or more of thereserved keys are used momentarily during that machine-state.

The MOD application client 65 (FIG. 3), in providing its service,engages in a direct two-way IP (Internet Protocol) connection with a VODcontent server 22 (FIG. 2). The MOD application server 19 is responsiblefor providing configuration and service data to the MOD applicationclient 65, such as the catalog of titles available for rental by theuser.

To provide the MOD service to the user, the MOD application client 65interacts with the MOD application server 19 (FIG. 2) and other elementsin the headend 11 to provide the on-demand service, such as the VODcontent server 22. Before describing the MOD application operationitself, some of the system infrastructure used by the MOD application toprovide the MOD services will be described. While the network platformto support video-on-demand is not the subject of this invention, themethod in which the MOD application utilizes this platform is novel.FIGS. 4A-4M are flow diagrams that define the signaling interactionsbetween the DHCT, the DNCS, the MOD application server, and the VODcontent server 22 to set up, maintain, and tear down VOD sessions.

The first signal and scenario, as shown in step 71 in FIG. 4A, is theDHCT initialization scenario. The DHCT 16 requests a configuration 73from the network 18, and if the DHCT 16 is verified as an authorizeddevice on the network 18, the DNCS 23 (FIG. 2) sends back a confirmation74 with the parameters for the DHCT 16 to operate on a network 18. Thisscenario 71 is performed automatically whenever a DHCT 16 is connectedto the network. The MOD application client 65 is not responsible forperforming initialization; however, the operating system 46 provides anapplication programming interface (API) which allows an application toquery configuration parameters received in the U-N ConfigConfirm message74.

FIG. 4B is a display diagram of the DHCT 16 configuration updatescenario 76 periodically performed to update the network configurationof a DHCT 16 after the initial configuration 71 has been completed. Thisupdate scenario 76 occurs when the configuration has been changed at theheadend 11, and U-N ConfigIndication message 77 may be addressed to agroup of DHCTs 16 to update a particular set of network parameters onthe entire group. The U-N ConfigIndication message 77 may be sent at anytime after a DHCT 16 has been configured on the network 18 and containsthe same message as sent in the initialization confirmation 74 but withfewer parameters included.

The MOD application server 19 initialization scenario 79 (FIG. 4C) isused whenever a server is introduced to the network 18. The MODapplication server 19 makes a configuration request 81 from the networkthat is verified by the DNCS 23 with a configuration confirmationmessage 82, along with parameters for the MOD application server 19 tooperate on the network 18.

The MOD application server 19 may also receive update messages from theDNCS 23 after the initial configuration 79 has been completed. The DNCS23 periodically sends the configuration indication message 85, as shownin FIG. 4D, to the MOD application server 19 over an extended period oftime. The configuration indication message contains the same messagethat was sent in the initial configuration 79, with fewer parametersincluded. Although the MOD application server 19 receives its messagerepeatedly from the DNCS 23, the MOD application server 19 needs toprocess the message if the transaction identification changes fromprevious messages.

FIG. 4E is a diagram of steps 89 for establishing a MOD session. TheDHCT 16 initially sends a message 91 to the DNCS 23 that initializes asession request. The request 91 usually happens after the MODapplication client 65 has allowed the user to select a title that theuser wishes to rent or purchase. Information about the on-demand mediaand any other application specific information is passed from the MODapplication client 65 to the VOD content server connection manager inthe VOD server session setup indication message 93. This setupindication message 93 is not modified by the DNCS, but is merely passedstraight to the MOD application server 19. When the MOD applicationserver 19 receives the session setup indication message 93, it verifiesthe eligibility of the DHCT 16 and the service that is being requested.The DNCS 23 may send the DHCT 16 a session proceeding indicating message94.

If the VOD content server 22 determines that it can deliver the service,it sends a ServerAddResourceRequest message 97 to the DNCS 23 to reservethe network resources to deliver that service. The DNCS 23 allocates therequested resources and sends to the VOD content server 22 aServerAddResourceConfirm message 98 to indicate that the requestedresources have been allocated. The VOD content server 22 then respondsto the service session indication message 93 with a server setupresponse message 99 that indicates that the VOD content server 22 isready to begin delivering the service using the resources allocated bythe DNCS 23. VOD content server 22 session setup response message 99 maycontain user data which is passed by the DNCS 23 to the DHCT 16. TheDNCS 23 sends the ClientSessionSetupConfirm message 102 to the DHCT 16that contains the resource descriptors (not shown) needed by the DHCT 16to receive the requested service. This message 102 may contain the userdata that was sent from the VOD content server 22. Finally, the DHCT 16sends to the DNCS 23 a ClientConnectRequest message 104 indicating thatthe DHCT 16 is ready to receive the requested service, and the DNCS 23sends the VOD content server 22 a connect indication message 105indicating that the DHCT 16 is ready to receive that service.

The resource descriptors described above are used to define theresources which are allocated to a session. An interactive session hastwo resource “views.” VOD content server 22 defines the resources thatare used to deliver the service from VOD content server 22 into thenetwork 18. The MOD application client 65 defines resources that areused in order for the DHCT 16 to receive the service from the network18.

The VOD content server 22 resource descriptor view is used when theserver is delivering an MPEG program over a transport stream that isdirectly connected to the network 18 and does not require any signalingto set up the connection. The video on demand service architecturedescribed above uses this type of connection.

For the MOD application server 19 resource descriptor view, two resourcedescriptors are used. The TSDownstreamBandwidth resource descriptorcontains a transport stream ID field and a bandwidth field. Thetransport stream ID identifies the physical connection from the MODapplication server 19 to the network 18. This transport stream ID istypically assigned by a network operator when a new connection isinstalled. The downstream bandwidth resource descriptor also identifies,in bits per second, the amount of bandwidth to deliver a service. Thisamount of bandwidth will be reserved in the network 18 for the durationof the MOD session with the DHCT 16 that requests the service.

The MPEG Program resource descriptor is another VOD content server 22resource descriptor view. This resource descriptor identifies the MPEGProgram that is carrying the service and used by the network todetermine which program from the transport stream to route to the DHCT16. The MPEG program also allows the application to assign associationtags to each of the elementary streams in the program. These associationtags may be used by the receiver to determine the use of each of thestreams. The association tag is guaranteed to be maintained and to endin a session even if the MPEG program is remapped. The second resourceview of an interactive session is the MOD application client 65 resourcedescriptor view. This view is used for all services that use MPEG todeliver the downstream data. The MOD service architecture defined aboveuses this type of connection for all downstream connections. Theresource descriptor, “TSDownstreamBandwidth,” contains a transportstream ID field and a bandwidth field. The transport stream IDidentifies the QAM modulator in service group 24 (FIG. 2) that istransmitting a service. This transport stream ID is assigned by anetwork operator (not shown) when a new QAM 24 is installed. Thedownstream bandwidth resource descriptor identifies, in bits per second,the bandwidth at which a service will be delivered.

MPEG Program resource descriptor identifies the MPEG program that iscarrying the service. This resource descriptor is used by the DHCT 16 todetermine which program from a transport stream to decode. Thisdescriptor also allows the MOD application client 65 to assignassociation tags (not shown) to each of the elementary streams in theprogram. These association tags may be used by the DHCT 16 to determinethe use of each of the streams. The association tag is guaranteed to bemaintained end-to-end in a session even if an MPEG program resourcedescriptor has been remapped.

Another signaling scenario supported by the present invention is the VODcontent server 22 in-progress scenario. FIG. 4F is a display diagram 110depicting the MOD application MOD application server in progress request111 message communicated from the VOD content server 22 to the DNCS 23.The DNCS 23 uses this message 111 as an audit mechanism to determine ifit is in sync with the VOD content server 22. The MOD application serverperiodically sends this MOD application server session in progressmessage 111 to the DNCS 23. The message 111 contains a list of allactive sessions for that MOD application server, and the DNCS 23compares this list to its list of active sessions for that particularapplication server 23. The DNCS 23 takes appropriate action if the listsdo not match.

The DNCS 23 periodically initiates a MOD application client session inprogress request 114 as shown in scenario 113 in FIG. 4G. This message114 is used to periodically inform the network 18 of the sessions thatare active on a DHCT 16. The DNCS 23 uses this message as an auditmechanism to determine if it is in sync with the DHCT 16. The DHCT 16periodically sends a client in session progress message (not shown).This message 114 contains a list of all active sessions for the DHCT 16.The DNCS 23 compares this list to a list of active sessions for thatDHCT 16 and takes appropriate action if the lists do not match.

The present invention permits the DHCT 16 to initiate a MOD session teardown scenario. FIG. 4H is a display diagram 118 depicting the procedurefor tearing down a session using the client initiated session releasescenario. A session that is active on that particular DHCT 16 may be tomdown by the DCHT 16. The initiate this process, the DHCT 16 sends a MODapplication client release request 119 to the DNCS 23. The DHCT 16 sendsthe client release request 119 after it has stopped using all resourcesfor a session that it is attempting to tear down. The DNCS 23 receivesthe client release request 19 and initiates a MOD server releaseindication 121 to the VOD content server 22. The VOD content server 22responds with a server release response 123 to the DNCS 23 which is thenpassed DHCT 16 in the form of a MOD client release confirm message 124.The network 18 does not release the resources provided for the sessionuntil the MOD server release response 123 is received from the MODapplication server 19.

A session tear down scenario may also be initiated by the MODapplication server. FIG. 41 is a display diagram 127 of the process fora VOD content server 22 to tear down a session. The VOD content server22 issues a server release request 129 to the DNCS 23 after it hasstopped using all resources for a particular session that it isattempting to tear down. The DNCS 23 initiates a client releaseindication message 131 to the MOD application client 65 on the DHCT 16which is responded to in the form of a client release response 133. TheDNCS 23 then initiates a server release confirm message 134 to the VODcontent server 22 that initiated the tear down scenario. The network 18does not release the resources for the MOD session until the clientrelease response message 133 is received by the DNCS 23.

A MOD session tear down scenario may also be initiated by the DNCS 23.FIG. 4J is display diagram 140 of the DNCS 23 initiated session teardown scenario. In so doing, the DNCS 23 initiates a server releaseindication message 142 to the VOD content server 22 providing the MODsession. The DNCS 23 may also simultaneously release the client releaseindication message 144 to the DHCT 16 notifying the DHCT 16 of the teardown sequence. The VOD content server 22 that received the serverrelease indication message 142 responds by a server release responsemessage 146, and the DHCT 16 responds to the client release indicationmessage 144 with a client release response message 148. The resource isattributed or assigned to the MOD session are not released until boththe client release response message 148 and the server release responsemessage 146 is received by the DNCS 23.

The VOD content server 22 provides an API by which the applicationservers can register interest in session setup and tear down events.Events describing these events are sent to registered applicationservers and include the session ID and the user (application) datacontained in the session setup request, such as the MAC address of theDHCT 16, the title ID, and the rental option in the case of the MODapplication. In this way the MOD application server can be notified whena VOD session is established with the VOD content server 21 by the MODapplication client 65. Additionally, the MOD application server 19 mayuse the API to request that the VOD content server 22 tear down thesession if the user of the DHCT 16 is not authorized for the MOD servicefor billing reasons. The DHCT 16, the VOD content server 22, and theDNCS 23 may each initiate a session status scenario to determine thestatus of both the network and the other components described above.FIG. 4K is a display diagram 150 of a client initiated session statusscenario. This procedure is used by DHCT 16 to query the DNCS 23 for thesessions that the DNCS 23 is maintaining for that DHCT 16. Thisprocedure is also used to obtain detailed information about a session sothat the DHCT 16 may re-establish a session after a reboot. The DCHT 16initiates a client status request message 152 to the DNCS 23 todetermine the status of the network 18. The DNCS 23 responds with aclient status confirm message 154 reporting the status to the DHCT 16.

FIG. 4L is a display diagram 156 of a VOD content server 22 initiatedsession status request scenario. This procedure is used by a VOD contentserver 22 to query the DNCS 23 for sessions that the DNCS 23 ismaintaining for that VOD content server 22. This procedure is also usedto obtain detailed information about a session so that the MODapplication server may re-establish sessions after a reboot. In thiscase, the VOD content server 22 sends a service status request message158 to the DNCS 23 to determine the status of the network. The DNCS 23in this case responds with a service status confirm message 159reporting on the status of the network.

FIG. 4M is a display diagram of a network initiated client sessionstatus request 161 and a server session status request 165. Thisprocedure is used by the DNCS 23 to query a DHCT 16 for the sessionsthat are currently active. This procedure is also used to obtaindetailed information about a session so the DNCS 23 can determine if asession at the DNCS 23 is the same as the session maintained by the DHCT16. In the client session status request scenario, the DNCS 23 initiatesa client status indication message 162 to the DHCT 16 requesting statusindication information. The DHCT 16 responds with a client statusresponse message 163 to the DNCS reporting on the status of the MODsession. Similarly, the DNCS 23, in the server session status request165, initiates a server status indication message 166 to the VOD contentserver 22. The VOD content server 22 responds with the statusinformation in the form of a server status response message 168 to theDNCS 23 reporting on its status.

The section described above is descriptive of one system forimplementing the MOD service of the preferred embodiment of the presentinvention. The section below is descriptive of the MOD applicationclient 65 user interface flow for navigating and executing other aspectsof the MOD service.

FIGS. 5 and 6 are flow chart diagrams of the user interface flow 190 forproviding the MOD service (shown, in this non-limiting example, as a MODservice). The MOD application client 65 activates, as in step 191, priorto providing the MOD service. The MOD service may be activated, as instep 191, when the user tunes to the MOD service. The user may accessthe MOD channel in a variety of methods.

FIG. 7 is a display diagram of remote unit 40, as a non-limitingexample, that enables the user to access the MOD channel. The MODchannel may be accessed by direct channel number entry by numeric keys181, the channel up/down button 182, by a favorite channels button 184,by a last-channel recall button 186, or by accessing a button dedicatedfor the interactive program guide (IPG) (not shown). The user may accessthe MOD channel via the service guide application (not shown) which, inone embodiment, may be activated by the “guide” key 188. Additionally,the user may be routed to the MOD channel from a “trailer” channel thatlinks a user to the MOD channel if the user selects a particular trailerfor purchase as it appears on the display 31.

Returning to FIG. 5, when the user tunes to the MOD channel, thenavigator 51 asks the SAM 37 for the service mapped to the channel,which is a service provided by the MOD application. The navigator 51then uses the SAM 37 to activate the MOD service. If the MOD applicationclient 65 is not resident in the memory of the DHCT 16, the SAM 37 usesfacilities of the operating system to download the MOD applicationclient 65 using the BFS client 43. Once loaded in DHCT 16 memory, theMOD application client 65 is executed.

An activate service event is then delivered to the MOD applicationclient 65. Contained in the event is the parameter data defined for theservice by the MOD application server 19 when it was provisioned by thesystem operator. The parameter includes the URL for the MOD catalog onthe BFS 28, 43, the IP address and port of the MOD application server19, and other system operator configurable parameters such as theinitial browse-by category to display the catalog screen, a trailerchannel to tune upon activation, etc. as described in context below.

The first time the MOD application client 65 is activated, it connectsto the MOD application server 19 and retrieve information about theuser. The MOD application client opens a User Datagram Protocol (UDP)socket and sends the MOD application server 19 a request for currentuser information. The request includes a Media Access Control (MAC)address uniquely identifying the DHCT 16, and thus identifying the user.The MOD application server 19 then returns the requested userinformation, including but not limited to current rental information anduser configuration information. This information has been stored in theMOD application server 19 database previously based on the MODapplication client 65 creating VOD sessions and from commands from theMOD application client 65 over a UDP socket to store user configurationinformation. Both of these types of information are described in moredetail in their relevant context below.

The MOD application client 65 then checks its internal state todetermine if the user currently has any current rentals 193. If not, theMOD title catalog screen 197 (FIG. 8A) is displayed, as in step 195.

FIG. 8A is a display diagram of the MOD title catalog screen 197 showingthe available MOD titles for selection by the user. The MOD titlecatalog screen 197 includes a banner for the name of the title catalogscreen 198 at the top portion of the screen 197. The title of theselectable browse by list 199 may be placed below the banner 198. TheMOD title catalog server 197 may optionally include an index in labelbar 200. The user can sort through the available MOD titles in an areashown as the current browse by list 201. The user may navigate thecurrent browse-by title list 201 by manipulating remote 40 (FIG. 7) asinstructed by the graphics shown in the navigation information area 203.The navigation information area 203 may typically include images ofselection arrows and selection buttons for choosing the desired MODtitle from the current browse-by list 201. As yet another non-limitingexample, a third option includes a full-screen title description pageproviding detailed information about a highlighted or selected MODtitle. A button bar 209 is included at the bottom of the MOD titlecatalog screen 197 for providing the user various options includingrenting the desired MOD title or even exiting the MOD applicationcompletely.

Information about a MOD title highlighted in the current browse-by list201 may optionally be presented to the user in the right portion 204 ofthe MOD title catalog screen 197. As a non-limiting example, a firstoption includes a still photo 204 a along with programming information204 b related to a highlighted MOD title in the current browse by list201. As the user navigates through different MOD titles, the still photo204 a and the programming information 204 b change accordingly. Asanother non-limiting example, a second option for the right portion ofthe MOD title catalog display includes a long description 204 c thatallows the user to obtain detailed information about the highlighted MODtitle in the current browse by list 201. As still yet anothernon-limiting example, a third option includes presenting a streamingvideo portion in the location as described above for the still photo 204a and program information 204 b similarly to option one described above.The streaming video may also be a reduced portion of a MOD title movieas a preview. The reduced portion of the MOD title may be any segment ofthe MOD title of length set by a system operator at headend 11. Thevideo shown as a preview may either be the video of the titlehighlighted in the current browse-by list 201 or any other MOD title.

FIG. 8B is a display diagram of the MOD title catalog screen 197 thatdepicts MOD title selection information and options one and three asdescribed above. In this non-limiting example, “Featured Movies” isshown in the title of selectable browse-by list 199. The navigationinformation 203, in this non-limiting example, includes an up/down arrowplus a “SEL” key for selecting the desired MOD title. Also in thisnon-limiting example, the highlighted movie in the current browse-bylist 201 is “Analyze This” 201 a. On the right portion of the MOD titlecatalog screen 197 may be previously discussed option one or threeincluding still photo or steaming video 204 a and program information204 b. INFO button 210, alternatively, may be configured by a systemoperator interface (not shown) to provide a trailer or preview of thehighlighted MOD title 201 a in the portion 204 a if a still image waspreviously shown, as in the non-limiting example as shown in FIG. 8B. Inone embodiment, a full screen or reduced screen movie trailer or MODtitle preview is provided when the user selects the INFO button.

The button bar 209 at the bottom portion of the title catalog screen 197includes options for the “A,” “B,” and “C” keys of remote unit 40 (FIG.7). Continuing with this non-limiting example, pressing the “A” keyactivates another application known as the service guide (not shown).Depressing the “C” key on the remote unit 40 (FIG. 7), as shown in thebutton bar 209, takes the user to a current rental screen. Finally,depressing the “B” key brings up a browse-by menu for the user to changethe browse by list category 199 and this is discussed in more detailbelow.

To present a preview of a MOD title in the reduced portion 204 a asdescribed above, the actual MOD title MPEG content contained on the VODcontent server 22 (FIG. 2) is delivered to the DHCT 16 and displayed inportion 204 a. The preview is separate from a “trailer” in that atrailer is a pre-edited portion of the MOD title separate from the MPEGcontent while the preview is the actual data stream of the MOD title.Thus, option three, as described above, may be configured to provideeither a trailer or a preview in portion 204 a.

FIG. 8C is a display diagram of the MOD title catalog screen 197configured as option two as described above. In this non-limitingexample, a long description of the MOD title highlighted 201 a in thecurrent browse-by list 201 is shown in right portion of 204 c. In thisnon-limiting example, selectable buttons 207 may be included in theright portion 204 c providing additional options to those shown inbutton bar 209.

FIG. 8D is a display diagram of a title description screen 218 (optionfour) presented to the user upon request from the MOD title catalogscreen 211 in FIG. 8A. The title description screen 218 is a full screenview. In a center portion of the display 220, detailed descriptiveinformation is presented. The user is presented a cancel option 221which re-displays the MOD title catalog screen 197. If the titleinformation is larger than that available on the screen, scrollingcapability is provided via arrow input keys for the user to view theentire title information.

The MOD title catalog screen 197 (FIG. 8A) also allows the user tochange the current browse-by list 201 to different catalog groupings.FIG. 9 is a display diagram of the MOD title catalog screen 197 with abrowse-by screen 211 overlaid on top of the MOD title catalog screen197. The browse-by screen 211 appears with choices for sorting allavailable MOD titles in a category selection portion 212, a plurality ofcategories of browse-by options. In a description portion 214 of thebrowse-by screen 211, a brief description is displayed about ahighlighted category in the selected category portion 212. The variouscategories are essentially filters of all the movies shown underindividual title category listings in the browse-by screen 211. Asnon-limiting examples, various browse by catalog categories include alltitles, actor, action/adventure, adult, comedy, drama, family, rating,new releases, last chance, specials, among others. Once the user selectsa category from the browse-by screen 211, the browse-by screen 211disappears and the current browse by list 201 displays the new set ofMOD titles for the selected category. The user may alternatively exitthe browse-by screen 211 without changing the title display by followinginstructions shown in a bottom portion 216 of the browse-by screen 211.

A separate browse-by screen (not shown) allows the user to search theMOD title catalog for a desired MOD title. This embodiment includes ablank field where the DHCT 16 accepts user input for a specific MODtitle to search. The search request is transferred from the DHCT 16 tothe headend 11. Results of the search are returned to the DHCT 16 andare presented to the user.

The titles presented in the MOD title catalog screen 197 that aregrouped in the various title categories are arranged by a systemoperator through an interface (not shown) at the headend 11. Theinterface is provided by the MOD application server 19 (FIG. 2). Theinterface enables the system operator to configure separate catalogs andalso the various title categories within each catalog. Mapping of titlesto category is 1:N, and can be defined by the system operator via theMOD application server GUI.

Whenever a catalog or title category is updated or created, the catalogmanager of the MOD application server 19 generates and updates thecatalog file(s) using the BFS server 28 (FIG. 2). As described above theBFS server 28 is in constant communication with a BFS client 43 (FIG. 3)in the DHCT 16 to provide updates and new applications to the DHCTs 16in the cable television system 10 (FIG. 1).

Table I is a header file that is a pseudo-structure that describes theformat of the MOD title catalog file as described above. Data types areindicated as follows: ui8=unsigned 8-bit integer; ui16=unsigned 16-bitinteger; ui32=unsigned 32-bit integer. TABLE 1 MOD TITLE CATALOG FORMAT/ * File Header * / ui16 format; / * file format identifier * / ui16version; / * construction generation number * / ui16 service Id; / *identifier of MOD catalog channel * / ui32 VODContentServerAddress; / *Server address where titles are stored * / ui8 language [3]; / * displaylanguage code * / / * rating string heap * / ui8 ratingCount; / * numberof strings in the rating heap * / ui16 ratingOffsets[ratingCount]; / *offset to each string in the rating heap * / ui16 rating Bytes; / *total size, in bytes, of the rating heap * / ui8ratingHeap[ratingBytes]; / * heap of rating strings * / / * theme stringheap * / ui8 themeCount; / * number of strings in the theme heap * /ui16 themeOffsets[themeCount]; / * offset to each string in the themeheap * / ui16 theme Bytes; / * total size, in bytes, of the theme heap */ ui8 themeHeap[themeBytes]; / * heap of theme strings * / / * coststring heap * / ui8 costCount; / * number of strings in the cost heap */ ui16 costOffsets[costCount]; / * offset to each string in the costheap * / ui16 costBytes; / * total size, in bytes, of the cost heap * /ui8 costHeap[costBytes]; / * heap of cost strings * / / * title stringheap * / ui16 titleCount; / * number of strings in the title heap * /ui32 titleOffsets[titleCount]; / * offset to each string in the titleheap * / ui32 titleBytes; / * total size, in bytes, of the title heap */ ui8 titleHeap[titleBytes]; / * heap of title strings * / / *description string heap * / ui16 descCount; / * number of strings in thedesc heap * / ui32 descOffsets[descCount]; / * offset to each string inthe desc heap * / ui32 descBytes; / * total size, in bytes, of the descheap * / ui8 descHeap[descBytes]; / * heap of desc strings * / / *actors string heap * / ui16 actorCount; / * number of strings in theactors heap * / ui32 actorOffsets [actorCount]; / * offset to eachstring in the actors heap * / ui32 actorBytes; / * total size, in bytes,of the actors heap * / ui8 actorHeap [actorBytes]; / * heap of actorstrings * / / * rental options heap * / ui8 rentOptionsCount; for (idx =0; idx < rentOptionsCount; idx += 1) { ui16 rentDuration; / * rentalperiod duration (minutes) * / ui8 costIndex; / * index to the coststrings heap * / ui8 rentld; / * identifier of rental plan * / ui16rentFlags; /* flags indicating support for trick modes, trailers,  andother rental option attributes */ } / * MOD program title catalogentries (sorted alphabetically by title) * / ui16 MODCount; / * numberof entries in the catalog * / for (idx = 0; idx < MODCount; idx += 1) {ui32 titleId; / * unique identifier for a program * / ui16 titleIndex;/ * index to title string in title heap * / ui16 descIndex; / * index todescription string in desc heap * / ui16 length; / * length of theprogram minutes * / ui16 year; / * year of the title * / ui8 rating; / *index to the rating string in rating heap * / ui8 themeCount; / * numberof themes * / ui8 themes [themeCount]; / * array of indices to the themeheap * / ui16 cancelPeriod; / * cancelation period for the title * / ui8rentCount; / * number of rental options for the title * / ui8rentalOptions [rentCount]; / * array of indices to the rental optionsheap * / ui8 actorCount; / * number of actors in the movie * / ui16actors [actorCount]; / * array of indices to the actors heap * / }

Upon addition of a new MOD catalog or title category to the BFS server28, the new files are immediately broadcast across the network 18 areintermittent intervals enabling the MOD application client 65 on eachDHCT 16 to receive the updated information. To notify the MODapplication client 65 that new catalog files are available, the MODapplication server 19 uses the DSM-CC 34 on the DNCS 23 to send a UDPpass-thru message to the MOD application client via the operating systemof the DHCT 16. Each MOD application client, upon determining that a newcatalog or an updated version is available, uses the BFS client 43 (FIG.3) in the DHCT 16 to download the files and store them in the MODapplication client 65 database (not shown). The updated version of thefiles are implemented the next time the user activates the MOD titlecatalog screen 197. Alternatively, the MOD application client may choseto wait until the user activates the MOD service to load the most recentversion of the MOD catalog for display at that time.

Similarly, when new MOD titles are available for sale or release, asystem operator adds the MOD titles to the MOD application server 19.The MOD application server 19 (FIG. 2) provides both a graphical userinterface (GUI) and an API interface to install a MOD title asset ontothe system. Typically this is done by, as a non-limiting example,inserting media such as a tape into the MOD application server 19 andusing the graphical user interface (GUI) to define the meta-data aboutthe title, but this process can be automated via the use of APIs(Application Programming Interfaces). The MOD title includes MPEG videoassets for the title and optionally a trailer, as well as meta-dataabout the title. Meta-data includes but is not limited to data about thetitle, such as it's name, description, rating, directors, actors,length, etc. The MOD application server 19 assigns a unique title ID andinstalls the added MOD titles to the VOD content server 22 bytransferring title ID and MOD title MPEG content. The VOD contentmanager 21 adds the MPEG content to the VOD content servers 22. The MPEGcontent for each newly added MOD title may include not only the video(or other media), but may also include MPEG data for a trailer for theMOD title that may be later included on a trailer channel or in the MODtitle catalog screen 197 in portion 204 a as described above.

The system operator at the headend 11 may configure multiple MODservices to display different MOD title catalog screens 197; asmentioned previously each MOD service includes a URL for the catalog tobe used by that service. The different services (and thus catalogs) maybe constructed based on demographic information for different types ofusers according to geographic origin, ethnicity, age, gender, etc.provided such information is known about subscribers in the system. Aspart of the mapping of MOD services to channels provided by the SAMserver 37, the operator may assign different MOD services with differentcatalogs to different geographic hubs in the television network. As anon-limiting example, the MOD title catalog screen 197 may predominatelydisplay MOD title categories tailored to Spanish programming, and theseMOD title catalog screens 197 may be implemented in geographical areaswhere the interest in Spanish programming is high. Alternatively, thesystem operator can create a separate MOD service with a title catalogof adult content separate from the main library of titles. This adultMOD service may then be offered on a separate channel as a premiumservice to subscribers interested in that content. Thus, different MODtitle catalog screens 197 are maintained at the headend 11 forpresentation to users of varied interests.

Similarly, the MOD application client 65 on the DHCT 16 may beconfigured by the user to display MOD title categories in the MOD titlecatalog screen 197 according to interests for the individual user, if soconfigured by the system operator. As a non-limiting example, users withinterests in sports programming may configure the DHCT 16 to displaycategories pertaining to sports programming in the MOD title catalogscreen 197 as opposed to a regular configuration. When configured viathe MOD application server GUI to operate in this mode, a single catalogcontaining all categories. Thus, the BFS client 43 at headend 11 wouldcontinuously broadcast all MOD title catalogs, but the DHCT 16 of theuser with interest in sports programming would display the MOD titlecatalogs and MOD title categories pertaining to sports programming. TheDHCT 16 may still download all MOD title categories so the user maystill view MOD titles under those categories also, but separate actionwould be taken to display those categories. The list of categoriesdesired for each individual user can be stored in non-volatile memory(NVM) (not shown) on the DHCT 16 if available. Preferably, the list ofcategories is transmitted over a UDP/IP socket to the MOD applicationserver 19 by the MOD application client 65 using facilities of thedigital television network 18. The MOD application client 65 thenrequests user information once after it is first initialized, asdescribed previously. A settings graphical user interface offered by theMOD application client 65, if enabled by the system operator in the MODservice parameters, can be accessed by the user to set the list ofcategories that they desire be displayed. In navigating the MOD titlecatalog screen 197 to select a MOD title to purchase, the user may optto preview a MOD title contained in the MOD title catalog screen 197. Apreview of a MOD title enables the user to view a portion of the MODtitle video stream substantially less than the entire title length. Thepreview may not necessarily start at the beginning of the MOD title, butrather may be any segment or segments of the MOD title. The portion ofvideo contained in the preview may be configured by the system operatorat the headend 11 through an interface (FIG. 22). The interface enablesthe system operator to set the length and starting point of the preview.The preview is displayed by the MOD application client 65 setting up asession with the VOD content server 22 for the specified title IDstarting at the specified Normal Play Time (NPI) location. VOD streamcontrol mechanisms (ie., fast-forward, rewind, pause) are typicallydisabled during the preview. Once the user has viewed the entirepreview, the user chooses whether to rent the MOD title just previewed.If not, then the DHCT 16 returns to the MOD title catalog screen forfurther navigation or exit.

Returning to FIG. 5, once the user navigates through the MOD titlecatalog screen 197 and chooses a MOD title for purchase, DHCT 16presents the user a title purchase option, as shown in step 213. FIG. 10is a display diagram of a rental option screen 227 as one embodiment ofthe title purchase option described in step 213 (FIG. 5). Descriptiveinformation about the selected MOD title is shown to the user in acenter portion of the display 228. Contained in this descriptiveinformation 228 is one or more “rental options”: including both therental period and rental price for the selected MOD title. In one rentaloption, the rental period may be the MOD title length—thereby requiringthe user to immediately rent the MOD title and view it in its entiretyat the time of rental. In another rental option, the rental period inthe descriptive portion of the display 228 may be some integermultiplier of the MOD title length. As a non-limiting example, therental period, as configured by the system operator at the headend 11may be set to 2 times the MOD title length, so a two hour movie wouldenable a rental period of four hours. As yet another rental option, therental period may be set to a specific period of time, such as a periodof hours, days, or weeks. The price of the rental is included in thedescriptive portion of the display 228 and may vary according to thepopularity of the MOD title, the length of rental, and other variablesas discussed in more detail below. Finally, if the user desires to rentthe selected MOD title shown in the rental option screen 227 (FIG. 10),the user may depress a button on the remote 40 (FIG. 7) as directed inthe rental option button bar 229. A cancel option may similarly bepresented in the rental option button bar 229 that returns the user tothe MOD title catalog screen 197. If more than one rental option isprovided for the title, the rental option screen 227 includes ascrolling list of rental options.

An additional rental options that may be presented to the user in rentaloption screen 227 (FIG. 10) include, as a non-limiting example,providing the user limited or unlimited control of VCR-like streamcontrol functions (i.e., stop, fast-forward, rewind, pause, etc.). Therental price of the MOD title may be based on the amount of control theuser has in implementing the MOD functions. Thus, the user may pay ahigher price to rent a MOD title with full functionality as opposed torenting a MOD title with no functionality since bandwidth for the MODtitle would be used for a shorter period of time if the user did nothave the ability to stop, rewind, or pause the MOD title.

Still yet another rental option that may be purchased by the user fromthe rental option screen 227 (FIG. 10) is the ability to view a MODtitle multiple times during the rental period rather than merely once.As a non-limiting example, the rental options screen 227 (FIG. 10) mayinclude an option that enables the user to view the purchased MOD titlea set number of times greater than one during the rental period or evenan unlimited number of times during the rental period.

As another rental option, the user may select to view a MOD titlewithout any promotional advertising. As a non-limiting example, a user,upon selecting such an option, may view a MOD title without any movietrailers that are commonly shown in movie theaters prior to the featurepresentation. As another non-limiting example, the MOD title may bepresented to the user without any advertising logos, brands, or othermarks that might otherwise be included in the presentation of the MODtitle.

A MOD application server 19 graphical user interface (GUI) allows thesystem operator to define any number of rental options such as thosementioned above. Defined in the catalog is the information about eachrental option: description, price, VOD stream control mechanismsenabled, trailers enabled, advertising enabled, etc. such that the MODapplication client 65 can enforce the chosen rental option for a title.The system operator can assign via the GUI any number of rental optionsto a given title, including a default list of rental options that isassigned to a title when it is installed.

As still yet another rental option, the user may have the option tochange the language setting of the purchased MOD title to one of anyother available languages from the default setting. The MPEG data streamof the MOD title as delivered to the DHCT 16 may include two or morelanguage audio tracks such that the DHCT 16 may be configured to play analternately chosen language according to the preference of the user. Asa non-limiting example, a French speaking user may configure, by aninterface (not shown) presented by the MOD application client 65 topresent the purchased MOD title in French language audio as opposed to,for example, and English language default setting. Additionally, theDHCT 16 may, upon the user initially configuring the language, set thedefault for future presentations to the newly selected language.Alternatively, the MOD application client may access the languagesettings of the navigator 51 (FIG. 3) and present all purchased MODtitles according to that language setting—provided the chosen languageis one included in the MPEG audio track of the MOD title.

Once the user purchases a particular MOD title from the rental optionsscreen 227 (FIG. 10) but prior to presentation of the title, the MODapplication client 65 determines if the title is blocked by itsparticular rating, as shown in step 230 (FIG. 230). To determine if aparticular MOD title is blocked because of its rating, the user shouldhave previously entered a setting in the DHCT 16 defining what types ofratings would be acceptable for viewing. In the preferred embodimentthis information is maintained by the resident navigator application andmade available to other application clients via an applicationprogramming interface (API). The MOD application client 65 accesses thepre-configured rating parameters for comparison to the ratinginformation contained in the catalog for the subject MOD title beingpurchased. As a non-limiting example, if a user configured the DHCT 16to prevent any movie with an “R” rating from being viewed or purchased,the MOD application client 65 would not allow any movie with such ratingto be purchased or viewed unless specifically overridden by the user. Inthis non-limiting example, parents may choose to block MOD titles with“R” ratings to prevent children from accessing the MOD titles whileallowing the parents to access the blocked titles upon entry of a properPIN. Thus, if the MOD application client 65 determines in step 230 thatthe selected MOD title is blocked by its rating, the application client65 allows the user to unblock the title on a proper PIN entry, as shownin step 231. In the preferred embodiment, the MOD application client 65uses the “blocking PIN” number stored in the settings with the navigator51 application. As such, a user can configure a single parental controlPIN that is shared among applications. The user is allowed to escape orcancel from the PIN entry screen for overriding the title blockingaccording to rating, as shown in step 232. If the user chooses to escapethe PIN entry screen or enters an improper or incorrect PIN, as shown instep 233, the MOD application client 65 returns the user to the MODtitle catalog screen 197 where the user reinitiates the MOD purchasesequence described above.

FIG. 11 is a display diagram of a PIN entry screen 231 presented to theuser indicating that the selected MOD title is blocked because of itsrating and providing a personal identification (PIN) entry to access theblocked MOD title. The PIN entry screen 231 is a pop-up window that isoverlaid over the rental entry screen 227 (FIG. 10). The PIN may consistof any alphanumeric character or other non-alphanumeric character. Thecenter portion 236 of the PIN entry 231 includes a message requestingPIN entry and several blocks 237 representing the requisite number ofcharacters to be entered. The user may enter the PIN to access a blockedtitle with the remote 40 (FIG. 7). Upon entry of each character, anasterisk may appear in each block 237 signifying entry of a character.Once the user enters the PIN, the user may request acceptance of the PINby inputting the “A” key on remote 40 (FIG. 7) as instructed by the PINentry button bar 239. Similarly the user may cancel the PIN entryoverride process, as in step 232 (FIG. 5), by entering the “C” key onremote 40 (FIG. 7) as instructed by the PIN entry button bar 239. If theuser enters in an improper PIN number in step 233 (FIG. 5), the MODapplication client 65 returns the user to the present title catalogscreen 197.

In another embodiment, the user may configure the MOD application client65 through a graphical user interface menu (not shown) to block certainMOD titles grouped under certain themes. As a non-limiting example, auser may configure the DHCT 16 to block all MOD titles under an “AdultProgramming” theme if such a theme was included in the browse-bycategory list 211 (FIG. 9). If the user attempted to access the “AdultProgramming” theme, the DHCT 16 would present a PIN entry screen similarto the PIN entry screen 231 shown in FIG. 11. Thus, the user would beasked to enter the correct PIN as described above to access the blocked“Adult Programming” theme. Information for the categories set by theuser as blocked may be stored in NVM by the MOD application client ifspace is available on the DHCT 16. Alternatively, the MOD applicationclient 65 may send a UDP/IP message to the MOD application server 19 tostore the blocking information for the particular user in the MODapplication server 19 database (not shown).

In yet another embodiment, the user may configure the MOD applicationclient 65 to block rental of MOD titles according to some pre-set limitson media service. As a non-limiting example, the DHCT 16 may blockpresentation of MOD titles after a certain number of successful requestshave been made in a given time period. Thus, a user may configure theDHCT 16 to allow five MOD title rentals in a month to control costs. Inanother non-limiting example, the user may limit the rental of MODtitles after a certain number of requests of a particular type of mediahas been ordered. Thus, the DHCT 16 may limit rental of all MOD titlesafter the user has ordered five premium-priced MOD title rentals.Additionally, the user, in another non-limiting example, may limitrental of all MOD titles after a specific monetary value has beenexpended in a given time period. Thus, the user may set a $50.00 permonth for MOD title rental, and after that amount has been spent, theDHCT 16 blocks further rental attempts unless the user overrides theblocking process by entering the PIN. In each of these non-limitingexamples, the user can override the block placed on the rental byentering a proper PIN as described above. All of this user-configuredblocking information is stored in the MOD application server 19 database(not shown) as described for previous user configurations.

If the MOD application client 65 determines that the selected MOD titleis not blocked by any of the aforementioned parameters, as in step 230(FIG. 5), or the user overrides the blocking process, as in step 233,the MOD application client 65 presents the user with a title rentalaccess PIN entry screen 240, as in step 238 (FIG. 5). FIG. 12 is adisplay diagram of a title rental access PIN entry screen 240 presentedto the user requesting PIN confirmation of purchase of the MOD titlepreviously selected. Similarly as above, the PIN may consist of anyalphanumeric character or other non-alphanumeric character. In oneembodiment, the MOD application client 65 retrieves the value of the PINfrom the API of the navigator 51 application on the DHCT, such that asingle “purchase PIN” can be used for the user across multipleapplications that deal with purchases. The center portion 242 of thetitle rental access PIN entry screen 240 includes a message requestingPIN entry and several blocks 243 representing the requisite number ofcharacters to be entered. The user may enter the PIN to access a blockedtitle with the remote 40 (FIG. 7). Upon entry of each character, anasterisk may appear in each block 243 signifying entry of a character.Once the user enters the PIN, the user may request acceptance of the PINby inputting the “A” key on remote 40 (FIG. 7) as instructed by the PINentry button bar 244. The user may also cancel the PIN entry overrideprocess, as in step 248 (FIG. 5), by entering the “C” key on remote 40(FIG. 7) as instructed by the PIN entry button bar 239. If the userenters in an improper PIN number in step 249, the MOD application client65 returns the user to the present title catalog screen 197 aspreviously discussed.

After the user has selected the desired MOD title for purchase, the MODapplication client 65 causes the DHCT 16 to present the user an “pleasewait” message, as in step 250 (FIG. 6) while the MOD service is beingestablished as described above. FIG. 13 is a display diagram of theplease wait barker 253 presented to the user while service isestablished from the headend 11 to the user's DHCT 16. Establishingservice entails setting up a VOD session with the specified VOD contentserver identified for the title in the catalog. The barker 253 merely isa pop up window that appears for the duration of the delay that maytypically last a few seconds.

Returning to FIG. 6, while the please wait barker 253 is presented tothe user, a determination is made whether the MOD session can beestablished, as shown in step 251. The session is established asdiscussed above if the resources of the system 10 (FIG. 1) areavailable. If resources are unavailable at the time the user desires toview the MOD title, a message is presented to the user stating that theMOD service request cannot be fulfilled at that time, as in step 252.FIG. 14 is a display diagram of the MOD service unavailable barker 252presented to the user indicating that the purchased MOD title cannot bepresented at the requested time. In the embodiment shown in FIG. 14, theuser is informed to try again later; however, in another embodiment, theuser may be provided an opportunity to receive the MOD service at somepoint in the future by reserving the selected MOD title for a set futuretime. From the MOD service unavailable screen 252, the user is presentedwith the title catalog screen 197 upon entering a cancel command asinstructed in a bottom portion 254.

If a session is available for transmitting the MOD title from the VODcontent server 22 to the DHCT 16, the user is presented a help screen(actual help screen not shown) with the title purchased, as in step 257,prior to presenting the MOD title on display 31. This screen may includeinstructions about how the remote unit 40 (FIG. 7) controls thepresentation of the MOD title if such functions (i.e., stop,fast-forward, rewind, pause, etc.) are enabled. Thereafter, MODapplication client 65 directs the operating system 46 in the DHCT 16 totune the MPEG program specified in the session resource, as in step 258(FIG. 6). The DHCT 16 then presents the user the video associated withthe purchase title with additional MOD VOD stream control (i.e., stop,fast-forward, rewind, pause, etc.), as in step 259 (FIG. 6), if theadditional support functions are enabled by the chosen rental option.

In one embodiment, before the rented MOD title is actually presented tothe user, promotional material may be presented to the user prior to therented MOD title. Associated with a rental option may be a set of movietrailers, each with their own asset ID. The MOD application client 65initiates a session for each of them with the specified VOD contentserver 22 (FIG.2 ). Typically the VOD stream control functions aredisabled during trailers, as specified by the system operator in therental option. The movie trailers are similar to movie trailers shown inmovie theaters prior to the presentation of the feature presentation andare comprised of pre-edited segments of the entire movie or MOD title.Depending on the theme category of the rented MOD title, the MODapplication server 19 may provide a sequence of movie trailers in thesame theme as the rented MOD title. As a non-limiting example, thesequence of movie trailers may be coming attractions of MOD titles soonto be offered by the cable service provider.

In another embodiment, the DHCT 16 enables the user to reserve rental ofa future MOD title presented as a trailer prior to the rented MOD titleas described above. In this embodiment the reservation of future rentalswould be made at a time when the MOD title to be rented in the future isnot currently available. Thus, in a non-limiting example, the user, uponviewing a sequence of trailers of coming attraction MOD titles, mayimmediately reserve rental of one of the MOD titles shown in the trailersequence for future viewing after the MOD title has been made availablefor rental. This advance rental provides the user priority for the timereserved for future viewing and insures that the system resources areavailable for at least fulfilling this rental request. Anothernon-limiting example enables the user to simply request notification offuture release of a MOD title included in a sequence of trailerspresented prior to the presentation of a rented MOD title. Thus, theuser may receive a notification barker (not shown) instructing the userthat the MOD title is now available for rental at the convenience of theuser. In this non-limiting example, bandwidth is not reserved for theuser at a given time, but instead, the user is prompted that apreviously unavailable MOD title is now available for rental.Consequently, each reservation or request about a MOD title made by auser is communicated from the DHCT 16 to the headend 11 and stored in amemory (not shown). The future title reminders are transmitted to theMOD application server 19 by the MOD application client 65 via the UDPsocket as described previously for other user customizations.

When the end of the MOD title is reached or the time allotted forviewing the MOD title has expired, the DHCT 16 presents the userdenoting that the rental period is over or that the MOD title has ended,as in step 260. FIG. 15 is a display diagram of the rental period endscreen 260 presented to the user when the duration of the rental periodhas expired. Upon entering the cancel command through remote 40 (FIG. 7)as instructed by the rental period end screen 260, the user returns tothe MOD title catalog screen 197 (FIG. 5).

As an additional alternative, the user may prematurely end rental of theMOD title prior to expiration of the rental duration by stopping play ofthe MOD title and choosing an option to terminate the rental. FIG. 16 isa display diagram of the end movie rental screen 264 presented to theuser when providing the opportunity to prematurely end rental of a MODtitle prior to expiration of the rental duration. If the user selectsthe “SEL” key on the remote 40 (FIG. 7) as instructed in the end movierental screen 264, the rental of the selected MOD title is terminatedand the user is returned to the MOD title catalog screen 197 (FIG. 5)where the user may opt to exit the MOD application completely. If theuser selects the cancel option as provided in the end movie rentalscreen 264, the user is returned to the presentation of the MOD title.If the user prematurely cancels the rental of the MOD title before apre-configured time set by a system operator at the headend through aGUI (FIG. 22), the user will not be charged for rental of the MOD title.As a non-limiting example, the user may decide after watching apurchased MOD title for three minutes to cancel the rental. If thepre-configured time to cancel without charge had not expired, the userwould not pay for the MOD title rental.

The MOD application client 65 may also present the user other barkersinforming the user of other conditions prior to and during rental of aMOD title depending on specific situations that may occur. If, as anon-limiting example, a problem occurs during delivery of the MOD titleto the DHCT 16 that causes an interruption in the service, a message maybe presented to the user instructing the user of the problem. FIG. 17 isa display diagram of the MOD service problem barker 265 presented to theuser informing of the user of a problem in the delivery of the purchasedMOD title. The MOD service problem barker 265 may include a canceloption enabling the user to exit the MOD application completely andimplement other services while the MOD service is temporarily disabled.

If upon attempt to initially access the MOD channel, the system operatorhas defined a conditional access descriptor regulating access to the MODservice, and the navigator application 51 on the DHCT 16 determines thatthe conditional access package has not been transmitted to the DHCT 16,the navigator 51 will display an unauthorized barker 267 instead ofactivating the MOD service.

If during session setup the MOD application server 19 is notified of aVOD session setup for a particular title and rental option for which theuser has been designated by the billing system used by the systemoperator as unauthorized, the MOD application server 19 will use an APIof the VOD content server 22 with whom the session was created and askthat the session be torn-down because it is not authorized. When the MODapplication client is notified that the session has been torn-downbecause the user is not authorized, the DHCT 16 may present the user aMOD rental not authorized barker 267 informing the user that the user isnot authorized to receive MOD rentals and to contact the systemoperator. FIG. 18 is a display diagram of the MOD rental not authorizedbarker 267. As a series of non-limiting examples, reasons forunauthorization of MOD service access may include failure of the user topay a prior service bill, user election to not receive MOD service,system incompatibility, or other reasons configured by the systemoperator at the headend 11. The VOD rental not authorized barker 267includes a cancel option enabling the user to return to the MOD catalog.

Returning to FIG. 5, the user, upon accessing the MOD application client65 the user may already have current rentals. The first time the MODapplication is activated, it retrieves the information about the user'scurrent rentals in the request for user information describedpreviously. The purchase related information includes a list of titleIDs for current rentals and a session ID for each if the MOD applicationserver 19 (FIG. 2) knows that the session has not been tom down by theDNCS 23 or the VOD content server 22. Also returned are anyuser-configurable parameters that have been stored by the MODapplication server 19 in its database in response to configurationsettings made available via the MOD application client 65.

Once the MOD application client 65 determines that the user has acurrent rental, it checks with the DNCS 23 to see if the session forthat rental is active using the session status request describedpreviously. If the session is active upon this determination in step193, the MOD application client 65 causes the DHCT 16 to present theuser a current rental screen. If the session is not active, another MODsession may be established. In a non-limiting example, the user isenabled to rent multiple MOD titles at a given time, in which case thesession for the most recently viewed title would be established. Inanother non-limiting example, the user may be activating the MODapplication client 65 at some time subsequent to a previous rental forcompletion of viewing of the previously rented MOD title. In anothernon-limiting example, the user may be re-activating the DHCT 16 and VODapplication client 65 after a power outage that interrupted presentationof the previously purchased MOD title.

FIG. 19A is display diagram of a MOD current rental screen 270 presentedto a user under the scenario described above. The current rental screen270 merely informs the user that a MOD title has previously been rentedand that its rental duration has not expired. The lower portion of thedisplay 271 displays the MOD title currently rented, the length of theMOD title, and the rental time remaining. The lower portion of thedisplay also provides the user the option to end the rental of the MODtitle or to play the MOD title. If the user ends the rental, the DHCT 16presents the end movie rental screen 264 shown in FIG. 16. FIGS. 19B and19C are both diagrams of alternative embodiments of the current rentalscreen 270 with increased functionality.

In FIG. 19B, a play status indication 272 is provided depicting a bargraph indication of the point in the MOD title where viewing was laststopped. A “Play From” option graphic 273 is included which enables theuser to select the re-commencement point of the MOD title presentation.In FIG. 19C, a “Time Remaining” indication 272′ is provided whichdepicts bargraphs for both the playing time (previously viewed time) ofthe MOD title and the remaining rental period. A “Play Selector” option273 (similar to the “Play From” option in FIG. 19B) is provided toenable the user to select a recommencement point or even to end therental completely.

As discussed above and as shown in step 259 of FIG. 6, the MOD title maybe presented to the user with VCR-like stream control functionality. VODstream control functionality includes the ability to fast-forward,rewind, pause, stop, etc. Whether a user may utilize these MOD supportmechanisms may be determined by the system operator in configuring MODrental options as described previously, and further by the user inselecting between multiple rental options where some options include VODstream control functionality and others do not. As a non-limitingexample, a system operator at the headend 11 may configure using the MODapplication server GUI whether presentation of MOD titles includes MODsupport functionality through an interface (FIG. 22) at the headend 11.In both FIGS. 19B and 19C, image area 274 is provided which may beconfigured as a still image where the MOD title was previously stopped.

FIG. 20 is a display diagram of the VOD stream control mechanisms 275 asdescribed in FIG. 6 that a user may utilize during viewing of a MODtitle. The VOD stream control mechanisms are available from step 259from FIG. 6. If the user depresses a key on remote 40 (FIG. 7)representing fast-forward, a fast-forward banner is presented, asdescribed in block 276 to the user on display 31, and the DHCT 16presents a fast-forward video stream. The fast-forward video stream mayor may not be a separate video stream from the real-time video streampresented in normal play mode. The MOD application client, uponreceiving a fast forward request, initiates a request to the VOD contentserver 22 (FIG. 2) to receive the fast-forward video stream rather thanthe play stream or to merely expedite the play stream. This request is aUDP/IP message to the IP address and port number of the VOD contentserver video pump that is returned to the MOD application client as aresource in the session setup confirmation (described previously). Ifthe user initiates a command to return to play video stream, the DHCT 16initiates the same process with the VOD content server 22 in reverse toreturn to real-time play mode.

If the user enters depresses a key on remote 40 (FIG. 7) representing arewind function, a rewind banner, as described in block 277, ispresented on display 31 and the DHCT 16 presents a rewind video stream.As described with the fast-forward stream above, the rewind video streammay or may not be a separate video stream from the real-time videostream. When the user returns to playing the video stream in real-time,the rewind banner 277 is removed.

At any time in the presentation of the MOD title on the display 31, theuser may stop the presentation of the video stream. Upon entry of a stopcommand on remote 40 (FIG. 7), the DHCT 16 presents a stop banner, asdescribed in block 278, and the presentation of video on display isstopped by directing the VOD content server 22 to stop the stream. Afterthe video is stopped, the DHCT 16 presents the MOD current rental screen270 as described above and shown in FIG. 19. As described below, the MODapplication client 65 may activate a screen saver after the MOD currentrental screen 270 has been displayed on the display 31 for apre-configured (FIG. 22) amount of time to prevent the image of the MODcurrent rental screen 270 from becoming burned into the display 31.

Depressing a key on remote 40 (FIG. 7) representing a play functioncauses the DHCT 16 to display a “play” banner on the display 31, asdescribed in block 279. Upon presenting the play banner, the video isplayed at real-time speed as discussed above and the play banner isremoved after a few seconds thereafter, as depicted in block 281.

If the user desires to pause the playing of the MOD title, a command onremote 40 (FIG. 7) may be initiated by depressing a key representing“pause.” When the MOD application client 65 on the DHCT 16 receives thecommand to pause the presentation of the MOD title on display 31, thepause banner is presented, as depicted in step 282, the pause command issent to the VOD content server 22, and a freeze-frame image of the videowhere it was stopped in the video stream is presented on the display 31.After the video stream has been paused for a pre-configured amount oftime, block 284 depicts that the pause banner 282 is removed and thevideo is stopped. A stop banner is presented similarly as describedabove in reference to block 278. The MOD application client 65 mayactivate a screen saver after the MOD current rental screen 270 has beendisplayed on the display 31 for a pre-configured amount of time toprevent the image of the MOD current rental screen 270 from becomingburned into the display 31. The screen saver function is described inmore detail below.

Other inputs on the remote 40 (FIG. 7) or other input device may alsorepresent functionality that is applicable to the presentation of a MODtitle, as shown in block 285. Upon entry of one of these other keyedinputs, a banner may appear on display 31 indicating the appropriateaction corresponding to the input. As a non-limiting example, pressingthe “INFO” button on the remote 40 (FIG.7) directs the MOD applicationclient 65 to display a graphic showing the elapsed time in the movie andthe rental time remaining.

If a still image is maintained on the display 31 for a pre-configuredamount of time, the MOD application server 65 may invoke a screen saverfunction to protect the display 31 from a bum in effect that can occurif an image remains on a display too long. The still screen, as anon-limiting example, may be the current rental screen 227 as describedabove in regard to the stop and pause functions, or the still screen maybe any other image that does not change with time. The system operatorat the headend 11 may configure the MOD application to include a screensaver that may be activated after a set time has expired. The screensaver may comprise a sequence of still screens that may beadvertisements, announcements or other information capable of display ona still screen. The sequence of still screens may be displayed in arotation that enables each screen to be displayed for some configurabletime period before the next still screen is displayed. FIG. 21 is adiagram of a non-limiting example of a sequence of still screens 287that may comprise a screen saver operation. In this non-limitingexample, a series of still screens 288 a-288 h rotate in succession.

In another embodiment, the screen saver is presented as a video streamthat, as a non-limiting example, is a set of movie trailers of moviescurrently available for rental in the MOD title catalog screen 227 (FIG.10). In this non-limiting example, the DHCT 16 tunes the MPEG streamcontaining the trailers, with the frequency and program number beingpassed to the MOD application client 65 in the service parameter data.Thus, in this non-limiting example, if the user has stopped thepresentation of the MOD title and walked away, the DHCT 16, after apre-configured amount of time, tunes the display 31 to a channel ofmovie trailers. The movie trailers, as described above, are pre-editedsegments of MOD titles (movies, etc.) that are, for example, newreleases or coming attractions and are continuously presented until theuser presses a key on remote 40 (FIG. 7). Upon hitting any remote 40key, the user is returned to the previous point where the user left offin the MOD application—the MOD current rental screen (which appears whenthe user stops the presentation of a MOD title).

In yet another embodiment, the screen saver may be configured by thesystem operator, through an interface on the MOD application server atthe headend 11, to be some type of moving image. As a non-limitingexample, the system operator may configure the MOD application todisplay a logo of the cable service provider to the user as the screensaver.

Because of the possible limited resources available for MOD titlepresentation (i.e., bandwidth, number of streams supported by MODcontent server 21 (FIG. 2), number of streams per title, number of MODcontent servers 21, etc.), the user is typically offered a limitedamount of time to view the rented title. This period is described abovein regard to the rental options screen 227 (FIG. 10). Rented durationtime is typically be longer than the length of the MOD title to allowthe user to use the VOD stream control mechanisms described above, butthat may not always be the case. As a non-limiting example, the user,via a chosen rental option, may purchase a MOD title to be displayed inits entirety without any interruption generation by the user similar toa conventional movie theater. However, it is more common that the rentalperiod is longer that the MOD title length to enable access to the VODstream control mechanisms. Different play options enable the user toimplement the VOD stream control mechanisms while still having theopportunity to view the MOD title in its entirety.

In one embodiment, the user is informed by a display barker (not shown)at the beginning of the presentation session of the purchased MOD titleof the time to finish the viewing of the MOD title. However, the userhas full and free control of the VOD stream control mechanisms, asdescribed above and in FIG. 20 throughout the rental duration. It is theresponsibility of the user to view the program before the expiration ofthe rental duration. Thus, if the user rewinds the video stream to apoint where the new time remaining to play the remaining video stream isgreater than the remaining rental duration and plays from that point,the user will not be able to view the entire MOD title. Similarly if theuser stops the presentation of the MOD title and commences playing theMOD title such that the remaining presentation time is greater than theremaining rental duration, the user will not be able to view the entireMOD title. No other message is presented to the user other than theinitial display barker and the rental period end screen 260 (FIG. 15)once the rental duration is complete.

Another embodiment is that the user is afforded full and free control ofthe VOD stream control mechanisms as described above and as shown inFIG. 20 throughout the rental duration. If the time remaining in therental duration becomes equal to the remaining length of the MOD title,a warning barker (not shown) is presented to the user informing the userthat the time remaining in the rental duration is insufficient to viewthe remaining MOD title to completion. After the user has been alertedby the warning barker, the user may still activate the VOD streamcontrol mechanisms, but the entire MOD title cannot be viewed in itsentirety. An alternative embodiment to this embodiment affords the useran opportunity to purchase additional rental time for viewing theremaining MOD title. A extra time purchase barker (not shown) may bepresented to the user as part of the warning barker enabling the user topurchase sufficient additional time to complete viewing the MOD title.

Still another embodiment allows the user to utilize the VOD streamcontrol mechanisms during a MOD period that is the calculated differencebetween the remaining rental duration and the remaining presentationlength. While the MOD period is not equal to zero, the user is enabledto utilize all VOD stream control mechanisms as described above;however, when the MOD period does expire (become zero), the user is nolonger enabled to use certain VOD stream control mechanisms unless theMOD period again becomes greater than zero. As a non-limiting example,if the MOD period expires, the rewind, stop and pause functions would nolonger operate because otherwise the user would not be able to view theMOD title in its entirety because the remaining rental duration isinsufficient. The user could still use the fast-forward function sincethis would operate to make the remaining rental duration greater thanthe remaining title length (i.e., a MOD period greater than zero). Thus,once the user fast-forwards the MOD title thereby making the MOD periodgreater than zero, the previously inoperative VOD stream controlmechanisms (i.e., stop, rewind, and pause) would operate again.

If the user tunes to a channel other than the MOD channel that ispresenting the purchased MOD title, or if the user powers off the DHCT,the stop mode is automatically entered . In one non-limiting example, ifthe MOD period does not expire before the returns to the MOD channel ofthe MOD title, presentation of the MOD title resumes where it wasstopped. In another non-limiting example, if the MOD period does expirebefore the user returns to the MOD channel presenting the MOD title, theMOD title resumes streaming to the DHCT 16 even though the DHCT 16 istuned to another channel and the user is alerted by a resume barker (notshown) of the MOD title presentation resumption. If, in anothernon-limiting example, the user returns after expiration of the MODperiod, the presentation of the MOD title is resumed at the point in theMOD title such that the MOD title ends at the end of the rental durationthereby causing a middle portion of the MOD title to be unviewed by theuser. Regardless of the different embodiments involving the MOD period,if the user returns to the MOD channel after the rental duration hasexpired, the MOD title catalog screen 197 is displayed and no portion ofthe MOD title is viewed.

Calculation of the MOD period, remaining title length, and rental periodremaining are determined as follows. The MOD application client 65stores in memory on the DHCT 16 the time at which the MOD title ispurchased. It also stores the rental option, which includes the rentalduration. Thus, at any time the MOD application client 65 can calculatethe time remaining in the rental period.

The VOD content server 22 provides an API for the MOD application client65 to request the normal play time (NPT) value of a video stream beingplayed. Based on this information and the duration of the title (storedin the catalog), the MOD application client 65 can calculate at anygiven time the remaining title length. Alternatively, the MODapplication client 65 can calculate the NPT based on the time of thelast stream control operation and the rate at which the VOD contentserver is playing the stream.

The MOD application client 65 can then calculate at regular intervalssuch as once per minute the VOD period equal to the rental timeremaining minus the remaining title length. During the rewind streamcontrol operation, this calculation is done more frequently based on therate of rewind that was specified to the VOD content server 22. In thiscase the MOD application client 65 can calculate the NPT based on NPT atinitiation of rewind, rate of rewind, and duration of the rewindoperation. This allows the MOD application client 65 to recomputed theVOD period at a constant interval of for example 60 NPT seconds. As anon-limiting example, if the rewind rate is 30 times the normal playrate the VOD period would be recalculated every 2 seconds (60 secondsdivided by 30) to be effectively reevaluating the VOD period every 60seconds of movie being streamed out of the VOD content server.

Alternatively, the MOD application client 65 can pre-compute the pointin the stream during rewind that will cause the VOD period to drop belowzero and request that the VOD content server 22 stop rewinding thestream at that point.

The system operator may configure, using the MOD application server GUI,parameters that determine when a session ends if the user interrupts thepresentation of a MOD title. In one embodiment, the system operator may,via an interface (not shown), configure a session to be maintained forthe entire rental duration even during the portion of the rental periodwhen the user is not viewing the MOD title. This non-limiting examplemaintains the bandwidth for the user regardless of other systemconstraints or requests. In another embodiment, the system operator,through the interface at the headend 11, may configure the sessionproviding the MOD title to be torn down after a pre-configured time. Thepre-configured time may be based upon certain user input or some userinactivity. As a non-limiting example, if the user stops thepresentation of a MOD title and the pre-configured time of inactivityexpires, the session established to deliver the MOD title to the DHCT 16of the user may be torn down as described above. When the user returnsto the MOD channel the MOD application client 65 determines that thereis a current rental but that no session exists. It then follows thesteps described previously to set up a session with the VOD contentserver 22. If this session fails and the rental period is still active,the MOD application client 65 retrys the session setup and differentintervals based on the reason for the session setup failure.Additionally, a problem barker is displayed informing the user that theMOD service cannot be re-established and that the MOD application isretrying.

If DHCT 16 power is lost during MOD title viewing one of two scenariosmay occur. First, for a power glitch whereby the DHCT 16 immediatelyreboots and the user subsequently tunes to the MOD channel, the sessionfor the MOD title will still be playing. Thus, the MOD applicationclient will discover from the MOD application server that the user has acurrent rental and will then verify with the VOD content server that thesession is active. Hence, when the MPEG frequency and programinformation is retrieved from the DNCS 23 session and resource managerfor that session, the stream will have been playing during the elapsedpower outage time and the user will rewind the movie to view the portionthey missed.

For a longer term power outage, the session and resource manager in theDNCS 23 will determine that the DHCT 16 is no longer responding to thesession status request as described previously. The session will be torndown and the MOD application server 19 will be notified of the sessiontear-down and record the fact that there is no session for that user andtitle in the database. Then, when the DHCT 16 is powered-up and the MODservice activated, the MOD application client 65 will be told that nosession currently exists for the current rental.

A system operator interface may enable the system operator to configurepresentation of promotional information such as movie trailers orpreviews upon user requests for information about a MOD title. Asdescribed above in regard to FIG. 8A, the system operator may configurethe MOD title catalog display to present an option for the user to viewa preview or trailer of the MOD title if the user requests “INFO” abouta particular MOD title. The preview or trailer may be configured,through the interface, to appear in a reduced portion of the MOD titlecatalog screen or in a full screen format.

Additionally a system operator interface (not shown) for promotionalinformation may enable a system operator to configure different areas ofvarious screens, as described above, for example, the MOD title catalogscreen 197. In one embodiment, the system operator can configure brandgraphics to appear on the display screens mentioned above. Brandgraphics may include graphics identifying the cable service provider. Asa non-limiting example, a brand graphic 298 in FIG. 19C identifies thecable service provider as “Victory Cable.” In this non-limiting example,the brand graphic includes an image logo with the identifyinginformation “Victory Cable.” Thus, the system operator, through aninterface, can cause the brand graphic 298 to be shown on any MODdisplay screen wherein the brand graphic is a separate image filetypically stored on BFS server 28 that is accessed whenever a useractivates the MOD application.

In similar fashion, the system operator may include advertising graphics(not shown) that are files placed on the BFS server 28 by the MODapplication server 19, and are similarly accessed when a user activatesthe MOD application. Advertising graphics, as known in the art, refer topromotional information about an entity other than the cable televisionprovider. Thus, in a non-limiting example, the advertising graphics maybe graphics for merchants who purchased advertising through a particularcable television provider to have the merchants advertising graphicsdisplayed whenever the user accessed the MOD application. In thisexample, the merchant could be a popcorn provider, and the graphic thatappears in the MOD display screens (i.e. the MOD title catalog screen)could be an image of popped popcorn with descriptive text.

In an alternative embodiment, the advertising graphics that appear inthe MOD screens may be provided by an external operator located atanother physical location apart from headend 11. The system operator, inthis embodiment, configures the MOD application, through the interface,to implement advertising graphics in the MOD display screens broadcastto the DHCTs 16 from the BFS 28 that are stored externally to the cabletelevision system 10. As a non-limiting example, advertising graphicsstored externally to the cable television system may be accessed by auniversal resource locator (URL), for example, across the Internet forimplementation in the MOD display screens. Thus, each time the MODapplication client 65 attempts to retrieve an advertisement according toa pre-configured URL, a different advertisement graphic may be obtainedfrom the external provider of the graphic so the user always seesdifferent advertisements. In this embodiment, APIs (applicationprogramming interfaces) are provided to the external advertising graphicproviders to enable compatibility with the MOD display screenconfigurations. Moreover, this embodiment enables advertisements to bequickly updated and tailored to the interests of an individual user orgroup of users.

A user may access the MOD application client 65, as described above,from a “trailer channel” if the user desires to purchase the MOD titlecorresponding to a particular trailer on the display. This configurationof the MOD service is indicated to the MOD application client 65 in theservice parameter. Upon being activated in this mode, the MODapplication client 65 uses facilities of the operating system 46 to tuneto the specified QAM frequency and MPEG program to display the trailers.The title ID about which trailer is currently playing is carried in anMPEG private data PID synchronous with the MPEG video and audio. The MODapplication client 65, upon a user input initiated during a particulartrailer presentation, would set the display 31 to the MOD title catalogscreen 197 with the MOD title corresponding to the particular trailerhighlighted. The user could then purchase that particular MOD title in amanner as described above.

As an alternative embodiment, the trailer channel may actually be aplurality of trailer-type channels configured according to style, genre,theme, etc. As a non-limiting embodiment, the MOD application server 19may be configured to support a comedy trailer channel wherein alltrailers advertise MOD titles that are comedies, a drama trailer channelfor dramatic MOD titles, etc. Just as above, the user, upon viewing atrailer in any one of these trailer channels may, upon input by remote40 (FIG. 7) go to the MOD title catalog screen with the MOD titlecorresponding to the trailer highlighted for purchase.

FIG. 22 is a non-limiting example of a system operator GUI 295 forconfiguring some of the previously described configurable parameters. Inthis non-limiting example, the GUI 295 enables the system operator toconfigure the duration between pause and stop modes. Additionally, thesystem operator may configure the time duration for tearing down asession after user inactivity, as described above. A time parameter, inthis non-limiting example, may be set to notify the user prior totearing down a session. The system operator may configure a timeparameter wherein the user may cancel a rental of a MOD title. Thelength of preview of a MOD title may also be configured by setting atime parameter. Finally, in this non-limiting example, the systemoperator may determine which title category is initially shown to theuser. Alternatively, a system operator may, through a GUI as describedabove, define bandwidth limitations for individual DHCTs 16 to limit thebandwidth assigned to any one DHCT 16 and thereby the number of MODtitle rentals at a time.

The present invention describes the MOD application server 19 and client65 as a system that delivers media to the user of the DHCT 16 where themedia described is typically movies; however, it is not the intent tolimit the present invention merely to a system that delivers video (i.e.movies) only. It should be clear that the MOD application may beimplemented to deliver any type of visual and aural media to the user ofthe DHCT 16. As a non-limiting example, the headend 11 (FIG. 1) and DHCT16 (FIG. 3) may be implemented by the MOD application to providemusic-on-demand, stock quotes on-demand, television programs on-demandetc. The MOD application server 19, in this alternative embodiment, is amedia on demand server that manages all media-type requests as demandedand coordinates the appropriate components in the headend 11 to providethe service on-demand. Thus, the VOD content manager 21 would operate toprovide the video-on-demand service, and other media-type contentmanagers may be employed (i.e., Stock quotes-on-demand content manager,etc.) would provide that media type on-demand. Thus video-on-demand isbut one type of media that is deliverable on-demand in the mannerconsistent with the present invention.

The MOD application, which comprises an ordered listing of executableinstructions for implementing logical functions, can be embodied in anycomputer-readable medium for use by or in connection with an instructionexecution system, apparatus, or device, such as a computer-based system,processor-containing system, or other system that can fetch theinstructions from the instruction execution system, apparatus, or deviceand execute the instructions. In the context of this document, a“computer-readable medium” can be any means that can contain, store,communicate, propagate, or transport the program for use by or inconnection with the instruction execution system, apparatus, or device.The computer readable medium can be, for example but not limited to, anelectronic, magnetic, optical, electromagnetic, infrared, orsemiconductor system, apparatus, device, or propagation medium. Morespecific examples (a nonexhaustive list) of the computer-readable mediumwould include the following: an electrical connection (electronic)having one or more wires, a portable computer diskette (magnetic), arandom access memory (RAM) (electronic), a read-only memory (ROM)(electronic), an erasable programmable read-only memory (EPROM or Flashmemory) (electronic), an optical fiber (optical), and a portable compactdisc read-only memory (CDROM) (optical). Note that the computer-readablemedium could even be paper or another suitable medium upon which theprogram is printed, as the program can be electronically captured, viafor instance optical scanning of the paper or other medium, thencompiled, interpreted or otherwise processed in a suitable manner, andthen stored in a computer memory.

The flow charts described above and shown in the figures of the presentinvention show the architecture, functionality, and operation of apossible implementation of the present invention. In this regard, eachblock represents a module, segment, or portion of code, which comprisesone or more executable instructions for implementing the specifiedlogical function(s). It should also be noted that in some alternativeimplementations, the functions noted in the blocks may occur out of theorder.

It should be emphasized that the above-described embodiments of thepresent invention, particularly, any “preferred embodiments” are merelypossible examples of the implementations, merely setting forth for aclear understanding of the principles of the inventions. Any variationsand modifications may be made to the above-described embodiments of theinvention without departing substantially from the spirit of theprinciples of the invention. All such modifications and variations areintended to be included herein within the scope of the disclosure andpresent invention and protected by the following claims.

1. A method for an interactive media services system to provide aplurality of promotional media to a user through an interactive mediaservices client device, said client device coupled to a programmablemedia services server device, said method comprising steps of:implementing an interactive media guide; implementing said client deviceto present said interactive media guide to said user; providing a systemoperator with an interface to said programmable media services server;and providing control options within said interface to allow said systemoperator to command which of said plurality of promotional media is tobe displayed in specific areas of said interactive media guide.
 2. Themethod of claim 1, wherein said user can command said interactive mediaguide to request more information regarding a media title.
 3. The methodof claim 2, wherein said system operator has the ability to configuresaid programmable media services server to display a specific type ofpromotional media in association with said request of said user, and todisplay said specific type of promotional media in a specific format. 4.The method of claim 3, wherein said specific type of promotional mediacomprises a trailer, a preview, and a still image.
 5. The method ofclaim 3, wherein said specific format of display comprises a segmentedarea of a catalog screen and a full screen display of said promotionalmedia. 6-19. (canceled)
 6. A method for an interactive media servicessystem to provide a plurality of preview media to a user through aninteractive media services client device, said client device coupled toa programmable media services server device, said method comprisingsteps of: providing a system operator with an interface to saidprogrammable media services server; and providing control options withinsaid interface to allow said system operator to dictate which of saidplurality of preview media is available to said user and thefunctionality available to the user before, during, and after a preview.7. The method of claim 6, wherein said system operator can configure theduration of said preview and whether interactive media system promptssaid user to purchase media being previewed. 22-27. (canceled)
 8. Amethod for an interactive media services system to provide a pluralityof promotional media to a user through an interactive media servicesclient device, said client device coupled to a programmable mediaservices server device, said method comprising steps of: implementing aninteractive media guide to be presented to said user through said clientdevice; implementing a broadcast file server (BFS); providing a systemoperator with an interface to said programmable media services server;and prompting said system operator to configure and modify saidinteractive media guide viewed by said user with said plurality ofpromotional media.
 9. The method of claim 8, wherein said plurality ofpromotional media could contain brand specific promotional mediarelevant to a plurality of service providers of said media.
 10. Themethod of claim 8, wherein said plurality of promotional media couldcontain advertisement media.
 11. The method of claim 8, wherein saidplurality of promotional media are transmitted over said media servicessystem to said client device from a source location of said broadcastfile server.
 12. A method for an interactive media services system toprovide a plurality of promotional media to a user through aninteractive media services client device, said client device coupled toa programmable media services server device, said method comprisingsteps of: implementing an interactive media guide to be presented tosaid user through said client device; implementing an external datasource; providing a means by which to access said programmable mediaservices system applications externally; and providing a means by whichto configure and modify said interactive media guide viewed by said userwith said plurality of promotional media.
 13. The method of claim 12,wherein said plurality of promotional media are retrieved by saidinteractive media services system from said external data source andtransmitted over said interactive media services system to said clientdevice.
 14. The method of claim 13, wherein said external data source isa device that exists in the Internet and said plurality of promotionalmedia is accessed by said interactive media services system per aUniform Resource Locator (URL).
 15. The method of claim 12, wherein saidmeans by which to access said media services system applicationsexternally is a set of Application Program Interfaces (APIs) throughwhich control modules existing outside the interactive media servicessystem can configure and modify said plurality of promotional media. 16.The method of claim 12, wherein said means by which to configure andmodify said interactive media guide viewed by said user with saidplurality of promotional media is accessible to an application thatprovides constantly changing and updated said plurality of promotionalmedia.